정해진 옵션 중에서 선택하는 방식으로 입력을 할 수 있는 컨트롤을 나타낸다.
구문 콘텐츠(phrasing-content)가 예상되는 위치
0
개 이상의 <option>
, <optgroup>
, <hr>
요소 및 스크립트 지원(script-supporting) 요소
[Exposed=Window]
interface HTMLSelectElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions] attribute DOMString autocomplete;
[CEReactions] attribute boolean disabled;
readonly attribute HTMLFormElement? form;
[CEReactions] attribute boolean multiple;
[CEReactions] attribute DOMString name;
[CEReactions] attribute boolean required;
[CEReactions] attribute unsigned long size;
readonly attribute DOMString type;
[SameObject] readonly attribute HTMLOptionsCollection options;
[CEReactions] attribute unsigned long length;
getter HTMLOptionElement? item(unsigned long index);
HTMLOptionElement? namedItem(DOMString name);
[CEReactions] undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
[CEReactions] undefined remove(); // ChildNode overload
[CEReactions] undefined remove(long index);
[CEReactions] setter undefined (unsigned long index, HTMLOptionElement? option);
[SameObject] readonly attribute HTMLCollection selectedOptions;
attribute long selectedIndex;
attribute DOMString value;
readonly attribute boolean willValidate;
readonly attribute ValidityState validity;
readonly attribute DOMString validationMessage;
boolean checkValidity();
boolean reportValidity();
undefined setCustomValidity(DOMString error);
readonly attribute NodeList labels;
};
<select> <option></option> <option></option> </select>
양식(form) 내에 있는 입력 요소들의 자동 채우기 설정을 지정한다. 자동 채우기는 다음과 같이 두 가지 방식이 가능하다.
on
키워드는 활성되고 off
키워드는 비활성된다. 생략될 수 있으며 생략되거나 유효하지 않은 경우에 기본값은 on
이다. type
애트리뷰트가 hidden
이 아닌 경우 사용된다.on
과 off
키워드는 사용할 수 없다. type
애트리뷰트가 hidden
인 경우 사용된다.지금까지의 내용은 HTML Standard 표준 사양에 나와있는 내용이지만 자동 완성 앵커 맨틀(autofill anchor mentle)에 대해 다음과 같은 이슈가 있다.
type
이 hidden
인 요소에게 자동 완성 기능 적용이 올바른가? [open issue]현재로서는 이 이슈에 대해 앞으로 시간을 두고 확인이 필요해 보이며 일반적인 자동 완성 기능인 자동 완성 기대 맨틀(autofill expectation mantle)의 구현을 위한 애트리뷰트라고 보는 편이 나을 것 같다.
요소를 비활성화한다.
불리언(boolean
) 값을 나타낸다. 예를 들어 다음 세 가지 값은 모두 참(true
)이다.
<input disabled>
, <input disabled="disabled">
, <input disabled="">
<form>
요소와 연결할 때 연결하고자 하는 <form>
요소의 id
를 지정한다.
문서에서 요소를 식별하는 유일무이한 문자열 값을 나타낸다.
두 개 이상의 값을 지정할 수 있는 여부를 나타낸다.
불리언(boolean
) 값을 나타낸다. 예를 들어 다음 세 가지 값은 모두 참(true
)이다.
<input disabled>
, <input disabled="disabled">
, <input disabled="">
multiple
을 지정하면 size
애트리뷰트 적절한 크기로 지정해야만 두 개 이상의 선택이 가능하다.
요소의 이름을 지정한다. 유저 에이전트(user agent)에서 식별값으로 사용되며 입력 요소에 지정된 name
의 값은 서버에 전송시 데이터를 식별하는 이름으로 사용된다. 식별값으로 사용되지만 유일무이한 값으로 강제하지는 않는다. 그러한 이유는 <input type="checkbox">
요소를 통해 이해할 수 있다. 체크박스 입력 방식은 준비된 동일한 이름의 데이터에서 다른 값을 선택하는 식이다. 따라서 값은 달라도 데이터의 이름은 동일할 수 있다.
<form>
요소에서 name
애트리뷰트가 HTML5에서 폐기되었다. 대신에 id
애트리뷰트를 식별값으로 사용한다.비워있지 않는 문자열을 나타낸다.
필수로 입력해야 할 입력 요소로 지정할지 여부를 나타낸다. 지정이 되면 필수 입력 요소가 된다.
불리언(boolean
) 값을 나타낸다. 예를 들어 다음 세 가지 값은 모두 참(true
)이다.
<input disabled>
, <input disabled="disabled">
, <input disabled="">
사용자에게 표시할 옵션의 수를 지정한다. 0
보다 큰 음수가 아닌 유효한 정수 값이어야 한다. 기본값은 1
이며 multiple
애트리뷰트가 지정되면 4
가 된다.
음수가 아닌 유효한 정수를 나타낸다.
일부 글로벌 애트리뷰트는 이 요소에서 사용되지 않을 수 있다.
일부 글로벌 이벤트 핸들러는 이 요소에서 사용되지 않을 수 있다. 이벤트 등록은 자바스크립트 사용을 권장한다.